home *** CD-ROM | disk | FTP | other *** search
- #include "CDEVClass.h"
-
- // CW CDEV Framework, by Matthew E. Axsom (chewey@nesw.mv.com)
- // -----------------------------------------------------------
- // Version History
- // -----------------------------------------------------------
- // 1.0.1 Released 12/13/94
- // DlgCut() added to cut() method.
- // DlgCopy() added to copy() method.
- // DlgPaste() added to paste() method.
- // DlgDelete() added to clear() method.
- // Note: The above additions were made to the sample's base class
- // in the original 1.0 distribution, but didn't make it (I'll plead
- // version control problems) into the framework's base class.
- // Thanks to Devon Hubbard for pointing this out!
- //
- // 1.0 Released 12/08/94
- // Initial verison
-
- cdevObj::cdevObj(short numItems,DialogPtr cp)
- {
- lastItem=numItems;
- d=cp;
- }
-
- // sorry, don't have anything to destroy
- cdevObj::~cdevObj(void)
- {
- }
-
- // handle actions not related to initing, opening or closing
- long cdevObj::actions(short message,short itemHit)
- {
- long result=0;
-
- switch (message) {
- // handle a click
- case hitDev:
- result=hit(itemHit-lastItem); // normalize to our values
- break;
-
- // handle a null event by performing any idle time processing
- case nulDev:
- result=idle();
- break;
-
- // handle user item updates
- case updateDev:
- result=update();
- break;
-
- // activate things
- case activDev:
- result=activate();
- break;
-
- // deactivate things
- case deactivDev:
- result=deactivate();
- break;
-
- // keydown or autokey
- case keyEvtDev:
- // filter out command keys and handle them via commandKey()
- if ((e->modifiers & cmdKey) == 0)
- result=keyDown();
- else
- commandKey();
- break;
-
- // undo command from edit menu
- case undoDev:
- result=undo();
- break;
-
- // cut command from edit menu
- case cutDev:
- result=cut();
- break;
-
- // copy command from edit menu
- case copyDev:
- result=copy();
- break;
-
- // paste command from edit menu
- case pasteDev:
- result=paste();
- break;
-
- // clear command from edit menu
- case clearDev:
- result=clear();
- break;
- }
-
- return result;
- }
-
- // handle command keys for normal editing items
- long cdevObj::commandKey(void)
- {
- long result=0;
-
- switch (e->message & charCodeMask) {
- case 'z': // cmd - z
- case 'Z':
- result=undo();
- break;
-
- case 'x': // cmd - x
- case 'X':
- result=cut();
- break;
-
- case 'c': // cmd - c
- case 'C':
- result=copy();
- break;
-
- case 'v': // cmd - v
- case 'V':
- result=paste();
- break;
- }
-
- return result;
- }
-
- // handle a hit in the control panel. Note lastItem has already been added to itemHit
- long cdevObj::hit(short itemHit)
- {
- return noErr;
- }
-
- // got a nulDev (nullEvent) message
- long cdevObj::idle(void)
- {
- return noErr;
- }
-
- // update any user items
- long cdevObj::update(void)
- {
- return noErr;
- }
-
- // activate items
- long cdevObj::activate(void)
- {
- return noErr;
- }
-
- // deactivate items
- long cdevObj::deactivate(void)
- {
- return noErr;
- }
-
- // handle a key down
- long cdevObj::keyDown(void)
- {
- return noErr;
- }
-
- // handle an undo
- long cdevObj::undo(void)
- {
- return noErr;
- }
-
- // handle a cut
- long cdevObj::cut(void)
- {
- DlgCut(d);
-
- return noErr;
- }
-
- // handle a copy
- long cdevObj::copy(void)
- {
- DlgCopy(d);
-
- return noErr;
- }
-
- // handle a paste
- long cdevObj::paste(void)
- {
- DlgPaste(d);
-
- return noErr;
- }
-
- // handle a clear
- long cdevObj::clear(void)
- {
- DlgDelete(d);
-
- return noErr;
- }
-
-